

const cloud = require('wx-server-sdk');

cloud.init()

const db = cloud.database({env:'tpcwre1'})
const t = db.collection('microTools_fillPit')
const _ = db.command
var err = 'err1'
exports.main = async (event,context) => {

  let { roomName, roomPwd, userCount, total, cheader, cname} = event
  if (!roomName || !roomPwd || !userCount || !total || !cheader || !cname){
    return { err }
  }

  var ctime = new Date().getTime()
  
  //删除过期数据
  var count = await t.count()
  var totals = count.total
  if(totals > 1000){    //大于1000条时触发删除机制
    var i1 = ctime - 86400000*2   //两天前的都删除
    t.where({
      ctime:_.lt(i1)
    }).remove()
  }


  //划分分数
  var numb1 = Math.ceil(parseInt(total) / 2)    //半数
  var numb2 = Math.ceil(numb1 / parseInt(userCount))  //各人基数
  var numb3 = parseInt(total) - (numb2 * parseInt(userCount))   //余数

  var numb4 = Math.floor(parseInt(total) / parseInt(userCount));   //每份上限分数

  var quotas = [];
  for(var i=0;i<parseInt(userCount);i++){
    if(i < parseInt(userCount)-1){
      var tmp = Math.floor(Math.random() * numb3)   //余数随机
      if (numb3 > 100 && tmp > numb4){
        tmp = numb4 - Math.ceil(Math.random()*70)
      }
      numb3 -= tmp
    }else{
      var tmp = numb3
    }
    quotas.push(tmp + numb2);     //装载各人分数
  }



  return t.add({
    data:{
      roomName: roomName,
      roomPwd: roomPwd,
      userCount: userCount,
      total: total,
      cheader: cheader,
      cname: cname,
      ctime:ctime,
      lock:false,
      quotas: quotas
    }
  })

  
}






  //添加数据
  // return db.collection('microTools_fillPit').add({
  //   data:{
  //     age:"18",
  //     sex:"sss3"
  //   }
  // })


  //按指定条件获取数据
  // return db.collection('microTools_fillPit').where({
  //     age:"18",
  //     sex:"sss"
  //   }).get()

  //按id查询数据
  //return db.collection('microTools_fillPit').doc('54bac78c5ecd069200500d60173e15dd').get()

  //获取表中全部数据
  //return db.collection('microTools_fillPit').get()



  //按指定条件删除数据
  // return db.collection('microTools_fillPit').where({
  //     age:"18",
  //     sex:'bbb'
  //   }).remove()



  //按指定字段和条件更改数据
  // return db.collection('microTools_fillPit').where({
  //     age:'18',
  //     sex:'bbb'
  //   })
  //     .update({
  //       data: {
  //         'name': 'llllllsssssssyyyyyyyys'
  //       }
  //     })



  //根据id更改数据
  // return db.collection('microTools_fillPit').doc('54bac78c5ecd069200500d60173e15dd').update({
  //   // data 传入需要局部更新的数据
  //   data: {
  //     // 表示将 done 字段置为 true
  //     name: 'gggggg'
  //   }
  // })










